AngularJs 学习笔记(四)
AngularJs配置块和运行块
一、配置块
AngularJS模块可以在被加载和执行之前对其自身进行配置。我们可以在应用的加载阶段配置不同的逻辑。
通过config方法实现对模块的配置,AngularJs中的服务大部分都对应 一个“provider”
用来执行与之对应的服务相同的功能或对其进行配置。
- 比如$log、$http、$location都是内置服务,其相应的“provider”分别是$logProvider、$httpProvider、$locationProvider
var app = angular.module('app',[]);
app.controller('wooController',
['$scope','$log',function ($scope,$log) {
$log.debug('调试信息');
$log.debug('调试信息');
$scope.price = "hello";
}]);
配置过程
* $http
* $log
* $filter
* provider 在每一个服务当中都会有一个provider来指定的功能进行配置
app.config(['$logProvider',function ($logProvider) {
$logProvider.debugEnabled(false);
}]);
app.config(['$filterProvider',function ($filterProvider) {
$filterProvider.register('firstUpp',function () {
可以在配置过程中,给过滤器添加过滤功能
return function (input) {
return input[0].toUpperCase() + input.slice(1);
}
})
}]);
二、运行块
- 服务也是模块形式存在的且对外提供特定功能
- 服务是以依赖注入进去的,然后再进行调用。
- 除了这种方式外我们也可以直接运行相应的服务模块
- AngularJs提供了run方法来实现
- run方法还是最先执行的,利用这个特点我们可以将一些需要优先执行的功能通过run方法来运行
- 比如验证用户是否登录,未登录则不允许进行任何其他操作
var app = angular.module('app',[]);
全局作用域
根作用域
ng程序一执行就会调用run
app.run(['$http','$rootScope',function ($http,$rootScope)
{
$http({
url:'jsonp.php',
method:'get',
params:{
callback:"woo"
}
}).success(function (res) {
console.log(res);
$rootScope.name = res;
});
}]);